package com.sxj.corejava.code06_数组;

import com.sxj.corejava.code07_面向对象.抽象类与接口.SomeInterface;

/**
 * @author 石小俊
 * @date 2024年03月09日 10:49
 */
public class Test01_定义数组 {
    public static void main(String[] args) {
        // 定义方式一:数据类型[] 变量名 = new 数据类型[数组长度]
        // 定义一个数组,该数组中所有元素都是int类型
        // 且数组中共有5个元素
        int[] nums = new int[5];
        nums[0] = 1;
//        nums[1] = 2;
        nums[2] = 3;
        nums[3] = 4;
        nums[4] = 5;
        System.out.println(nums.length);
        // 在数组中,如果没有给元素赋值,数组会自动为元素设置默认值
        // 整数类型默认值:0
        System.out.println(nums[0]);
        System.out.println(nums[1]);
        System.out.println(nums[2]);
        System.out.println(nums[3]);
        System.out.println(nums[4]);

        // char类型数组元素默认值:空字符串
        char[] cs = new char[3];
        System.out.println(cs[0]);

        // 小数类型数组元素默认值0.0
        double[] ds = new double[3];
        System.out.println(ds[2]);

        // boolean类型数组元素默认值:false
        boolean[] bs = new boolean[3];
        System.out.println(bs[1]);


        // 定义方式二:数据类型 变量名[] = new 数据类型[数组长度]
        // 这是一种为了照顾C语言程序员的方式,俗称非主流方式
        // String类型数组元素默认值:null
        String names[] = new String[3];
        System.out.println(names[2]);

        // 定义方式三:在声明数组的同时为数组的元素赋值
        // 数据类型[] 变量名 = new 数据类型[]{元素1,元素2,元素3...}
        // 此时数组的长度即为元素的数量
        // 此时的元素是具体的值
        // String[] hobbies = new String[]{"吃饭","睡觉","打豆豆"};
        // 简写方式
        String[] hobbies = {"吃饭","睡觉","打豆豆"};
        System.out.println(hobbies[0]);
        System.out.println(hobbies[1]);
        System.out.println(hobbies[2]);

    }
}
